﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BreukTrainer_EE_.BreukModel
{
    /// <summary>
    /// Deze implementatie van de <see cref="IBreukContainerFormatter"/> Interface
    /// Sorteert alles van klein naar groot
    /// </summary>
    public class KleinGrootFormatter : IBreukContainerFormatter
    {
        /// <summary>
        /// Zet een <see cref="BreukContainer"/> om in <see langword="string"/> lijst van alle <see cref="Breuk"/>en.
        /// Geordend van klein naar groot.
        /// </summary>
        /// <param name="container">De <see cref="BreukContainer"/> welke moet geoutput worden.</param>
        /// <returns>Een <see langword="string"/> lijst.</returns>
        public string FormatBreukContainer(BreukContainer container)
        {
            IEnumerable<Breuk> sorted = container.Breuken
                .OrderBy(delegate(Breuk breuk)
                {
                    return breuk.DecimaleWaarde();
                });

            string output = "";
            foreach (Breuk b in sorted)
            {
                output += b.ToString() + " ";
            }
            return output;
        }
    }
}
